package com.promotores;

import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
import java.util.concurrent.ExecutionException;

import com.promotores.util.ImageDownloader;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class AdapterEvento extends BaseAdapter{
	
	List<BeanEvento> lista;
	Context context;
	LayoutInflater inflater;
	private final ImageDownloader imageDownloader = new ImageDownloader();
	
	public AdapterEvento(List<BeanEvento> lista, Context context){
		this.lista = lista;
		this.context = context;
		inflater = LayoutInflater.from(context);
	}

	@Override
	public int getCount() {
		return lista.size();
	}

	@Override
	public Object getItem(int position) {
		return lista.get(position);
	}

	@Override
	public long getItemId(int position) {
		return 0;
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		ViewHolder holder;
		
		if (convertView == null){
			convertView = inflater.inflate(R.layout.pr_item_ev, null);
		
			holder = new ViewHolder();
			holder.titEvento = (TextView) convertView.findViewById(R.id.datnombre);
			holder.fechaEvento = (TextView) convertView.findViewById(R.id.datfechaevento);
			holder.nombPromotor = (TextView) convertView.findViewById(R.id.datnombrepromotor);
			holder.estadoEvento = (TextView) convertView.findViewById(R.id.datestadoevento);
			holder.imagenPublicitaria = (ImageView) convertView.findViewById(R.id.imgEvento);
			convertView.setTag(holder);
		}else{
			holder = (ViewHolder)convertView.getTag();
		}
		
		BeanEvento evento = lista.get(position);
		holder.titEvento.setText(evento.getNombre());
		
		if (evento.getFechaIni().compareTo(evento.getFechaFin())==0)
			holder.fechaEvento.setText(evento.getFechaIni());
		else
			holder.fechaEvento.setText(evento.getFechaIni() + " a " + evento.getFechaFin());
		holder.nombPromotor.setText(evento.getEmail());
		if (evento.getEstado().compareTo("1") == 0)
			holder.estadoEvento.setText("Pendiente de aprobación");
		else if (evento.getEstado().compareTo("2") == 0)
			holder.estadoEvento.setText("Pre-Aprobado");
		
		
//		try {
//			  ImageView i = (ImageView) convertView.findViewById(R.id.imgEvento);
//			  i.setImageDrawable((new ImageDownloader().execute("http://"+lista.get(position).getUrlImagen())).get());
//			} catch (InterruptedException e) {
//				// TODO Auto-generated catch block
//				e.printStackTrace();
//			} catch (ExecutionException e) {
//				// TODO Auto-generated catch block
//				e.printStackTrace();
//			}
		
		imageDownloader.download("http://"+evento.getUrlImagen(), holder.imagenPublicitaria);
		return convertView;
	}
	
	class ViewHolder{
		TextView titEvento;
		TextView fechaEvento;
		TextView nombPromotor;
		TextView estadoEvento;
		ImageView imagenPublicitaria;
	}
}